package cn.mjnxin.charge.model.entity;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import io.swagger.annotations.ApiModelProperty;
/**
 * demo_sub:子表
 * create by :clg  2023/8/29
 *
 * @mbg.generated
 */
public class DemoSub implements Serializable {
    /**
     * 主键
     *
     * @mbg.generated
     */
    @ApiModelProperty(notes="主键")
    private Long id;

    /**
     * 主表编号
     *
     * @mbg.generated
     */
    @ApiModelProperty(notes="主表编号")
    private Long mainId;

    /**
     * 外部主表编号
     *
     * @mbg.generated
     */
    @ApiModelProperty(notes="外部主表编号")
    private Long foreignMainId;

    /**
     * 外部子表编号
     *
     * @mbg.generated
     */
    @ApiModelProperty(notes="外部子表编号")
    private Long foreignSubId;

    /**
     * 名称
     *
     * @mbg.generated
     */
    @ApiModelProperty(notes="名称")
    private String name;

    /**
     * 属性1
     *
     * @mbg.generated
     */
    @ApiModelProperty(notes="属性1")
    private BigDecimal attr1;

    /**
     * 属性2
     *
     * @mbg.generated
     */
    @ApiModelProperty(notes="属性2")
    private Byte attr2;

    /**
     * 属性3
     *
     * @mbg.generated
     */
    @ApiModelProperty(notes="属性3")
    private Integer attr3;

    /**
     * 属性4
     *
     * @mbg.generated
     */
    @ApiModelProperty(notes="属性4")
    private Short attr4;

    /**
     * 属性5
     *
     * @mbg.generated
     */
    @ApiModelProperty(notes="属性5")
    private Boolean attr5;

    /**
     * 属性6
     *
     * @mbg.generated
     */
    @ApiModelProperty(notes="属性6")
    private Float attr6;

    /**
     * 属性9
     *
     * @mbg.generated
     */
    @ApiModelProperty(notes="属性9")
    private String attr9;

    /**
     * 属性10
     *
     * @mbg.generated
     */
    @ApiModelProperty(notes="属性10")
    private Date attr10;

    /**
     * 显示顺序
     *
     * @mbg.generated
     */
    @ApiModelProperty(notes="显示顺序")
    private Integer sort;

    /**
     * 类型
     *
     * @mbg.generated
     */
    @ApiModelProperty(notes="类型")
    private String type;

    /**
     * 联系电话
     *
     * @mbg.generated
     */
    @ApiModelProperty(notes="联系电话")
    private String phone;

    /**
     * 邮箱
     *
     * @mbg.generated
     */
    @ApiModelProperty(notes="邮箱")
    private String email;

    /**
     * 描述信息
     *
     * @mbg.generated
     */
    @ApiModelProperty(notes="描述信息")
    private String remark;

    /**
     * 创建人
     *
     * @mbg.generated
     */
    @ApiModelProperty(notes="创建人")
    private Long createUser;

    /**
     * 创建部门
     *
     * @mbg.generated
     */
    @ApiModelProperty(notes="创建部门")
    private Long createDept;

    /**
     * 加入时间
     *
     * @mbg.generated
     */
    @ApiModelProperty(notes="加入时间")
    private Date createTime;

    /**
     * 修改人
     *
     * @mbg.generated
     */
    @ApiModelProperty(notes="修改人")
    private Long updateUser;

    /**
     * 修改时间
     *
     * @mbg.generated
     */
    @ApiModelProperty(notes="修改时间")
    private Date updateTime;

    /**
     * 状态
     *
     * @mbg.generated
     */
    @ApiModelProperty(notes="状态")
    private Integer status;

    /**
     * 是否已删除
     *
     * @mbg.generated
     */
    @ApiModelProperty(notes="是否已删除")
    private Integer isDeleted;

    private static final long serialVersionUID = 1L;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getMainId() {
        return mainId;
    }

    public void setMainId(Long mainId) {
        this.mainId = mainId;
    }

    public Long getForeignMainId() {
        return foreignMainId;
    }

    public void setForeignMainId(Long foreignMainId) {
        this.foreignMainId = foreignMainId;
    }

    public Long getForeignSubId() {
        return foreignSubId;
    }

    public void setForeignSubId(Long foreignSubId) {
        this.foreignSubId = foreignSubId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name == null ? null : name.trim();
    }

    public BigDecimal getAttr1() {
        return attr1;
    }

    public void setAttr1(BigDecimal attr1) {
        this.attr1 = attr1;
    }

    public Byte getAttr2() {
        return attr2;
    }

    public void setAttr2(Byte attr2) {
        this.attr2 = attr2;
    }

    public Integer getAttr3() {
        return attr3;
    }

    public void setAttr3(Integer attr3) {
        this.attr3 = attr3;
    }

    public Short getAttr4() {
        return attr4;
    }

    public void setAttr4(Short attr4) {
        this.attr4 = attr4;
    }

    public Boolean getAttr5() {
        return attr5;
    }

    public void setAttr5(Boolean attr5) {
        this.attr5 = attr5;
    }

    public Float getAttr6() {
        return attr6;
    }

    public void setAttr6(Float attr6) {
        this.attr6 = attr6;
    }

    public String getAttr9() {
        return attr9;
    }

    public void setAttr9(String attr9) {
        this.attr9 = attr9 == null ? null : attr9.trim();
    }

    public Date getAttr10() {
        return attr10;
    }

    public void setAttr10(Date attr10) {
        this.attr10 = attr10;
    }

    public Integer getSort() {
        return sort;
    }

    public void setSort(Integer sort) {
        this.sort = sort;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type == null ? null : type.trim();
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone == null ? null : phone.trim();
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email == null ? null : email.trim();
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark == null ? null : remark.trim();
    }

    public Long getCreateUser() {
        return createUser;
    }

    public void setCreateUser(Long createUser) {
        this.createUser = createUser;
    }

    public Long getCreateDept() {
        return createDept;
    }

    public void setCreateDept(Long createDept) {
        this.createDept = createDept;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Long getUpdateUser() {
        return updateUser;
    }

    public void setUpdateUser(Long updateUser) {
        this.updateUser = updateUser;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getIsDeleted() {
        return isDeleted;
    }

    public void setIsDeleted(Integer isDeleted) {
        this.isDeleted = isDeleted;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", mainId=").append(mainId);
        sb.append(", foreignMainId=").append(foreignMainId);
        sb.append(", foreignSubId=").append(foreignSubId);
        sb.append(", name=").append(name);
        sb.append(", attr1=").append(attr1);
        sb.append(", attr2=").append(attr2);
        sb.append(", attr3=").append(attr3);
        sb.append(", attr4=").append(attr4);
        sb.append(", attr5=").append(attr5);
        sb.append(", attr6=").append(attr6);
        sb.append(", attr9=").append(attr9);
        sb.append(", attr10=").append(attr10);
        sb.append(", sort=").append(sort);
        sb.append(", type=").append(type);
        sb.append(", phone=").append(phone);
        sb.append(", email=").append(email);
        sb.append(", remark=").append(remark);
        sb.append(", createUser=").append(createUser);
        sb.append(", createDept=").append(createDept);
        sb.append(", createTime=").append(createTime);
        sb.append(", updateUser=").append(updateUser);
        sb.append(", updateTime=").append(updateTime);
        sb.append(", status=").append(status);
        sb.append(", isDeleted=").append(isDeleted);
        sb.append("]");
        return sb.toString();
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        DemoSub other = (DemoSub) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getMainId() == null ? other.getMainId() == null : this.getMainId().equals(other.getMainId()))
            && (this.getForeignMainId() == null ? other.getForeignMainId() == null : this.getForeignMainId().equals(other.getForeignMainId()))
            && (this.getForeignSubId() == null ? other.getForeignSubId() == null : this.getForeignSubId().equals(other.getForeignSubId()))
            && (this.getName() == null ? other.getName() == null : this.getName().equals(other.getName()))
            && (this.getAttr1() == null ? other.getAttr1() == null : this.getAttr1().equals(other.getAttr1()))
            && (this.getAttr2() == null ? other.getAttr2() == null : this.getAttr2().equals(other.getAttr2()))
            && (this.getAttr3() == null ? other.getAttr3() == null : this.getAttr3().equals(other.getAttr3()))
            && (this.getAttr4() == null ? other.getAttr4() == null : this.getAttr4().equals(other.getAttr4()))
            && (this.getAttr5() == null ? other.getAttr5() == null : this.getAttr5().equals(other.getAttr5()))
            && (this.getAttr6() == null ? other.getAttr6() == null : this.getAttr6().equals(other.getAttr6()))
            && (this.getAttr9() == null ? other.getAttr9() == null : this.getAttr9().equals(other.getAttr9()))
            && (this.getAttr10() == null ? other.getAttr10() == null : this.getAttr10().equals(other.getAttr10()))
            && (this.getSort() == null ? other.getSort() == null : this.getSort().equals(other.getSort()))
            && (this.getType() == null ? other.getType() == null : this.getType().equals(other.getType()))
            && (this.getPhone() == null ? other.getPhone() == null : this.getPhone().equals(other.getPhone()))
            && (this.getEmail() == null ? other.getEmail() == null : this.getEmail().equals(other.getEmail()))
            && (this.getRemark() == null ? other.getRemark() == null : this.getRemark().equals(other.getRemark()))
            && (this.getCreateUser() == null ? other.getCreateUser() == null : this.getCreateUser().equals(other.getCreateUser()))
            && (this.getCreateDept() == null ? other.getCreateDept() == null : this.getCreateDept().equals(other.getCreateDept()))
            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
            && (this.getUpdateUser() == null ? other.getUpdateUser() == null : this.getUpdateUser().equals(other.getUpdateUser()))
            && (this.getUpdateTime() == null ? other.getUpdateTime() == null : this.getUpdateTime().equals(other.getUpdateTime()))
            && (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus()))
            && (this.getIsDeleted() == null ? other.getIsDeleted() == null : this.getIsDeleted().equals(other.getIsDeleted()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getMainId() == null) ? 0 : getMainId().hashCode());
        result = prime * result + ((getForeignMainId() == null) ? 0 : getForeignMainId().hashCode());
        result = prime * result + ((getForeignSubId() == null) ? 0 : getForeignSubId().hashCode());
        result = prime * result + ((getName() == null) ? 0 : getName().hashCode());
        result = prime * result + ((getAttr1() == null) ? 0 : getAttr1().hashCode());
        result = prime * result + ((getAttr2() == null) ? 0 : getAttr2().hashCode());
        result = prime * result + ((getAttr3() == null) ? 0 : getAttr3().hashCode());
        result = prime * result + ((getAttr4() == null) ? 0 : getAttr4().hashCode());
        result = prime * result + ((getAttr5() == null) ? 0 : getAttr5().hashCode());
        result = prime * result + ((getAttr6() == null) ? 0 : getAttr6().hashCode());
        result = prime * result + ((getAttr9() == null) ? 0 : getAttr9().hashCode());
        result = prime * result + ((getAttr10() == null) ? 0 : getAttr10().hashCode());
        result = prime * result + ((getSort() == null) ? 0 : getSort().hashCode());
        result = prime * result + ((getType() == null) ? 0 : getType().hashCode());
        result = prime * result + ((getPhone() == null) ? 0 : getPhone().hashCode());
        result = prime * result + ((getEmail() == null) ? 0 : getEmail().hashCode());
        result = prime * result + ((getRemark() == null) ? 0 : getRemark().hashCode());
        result = prime * result + ((getCreateUser() == null) ? 0 : getCreateUser().hashCode());
        result = prime * result + ((getCreateDept() == null) ? 0 : getCreateDept().hashCode());
        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
        result = prime * result + ((getUpdateUser() == null) ? 0 : getUpdateUser().hashCode());
        result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().hashCode());
        result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode());
        result = prime * result + ((getIsDeleted() == null) ? 0 : getIsDeleted().hashCode());
        return result;
    }
}